package cn.dakaqi.services;

import cn.dakaqi.entities.ActivitySign;
import cn.dakaqi.utils.exception.ServiceRuntimeException;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * Created by chunyang on 2016/4/17.
 */
public interface ActivitySignService
{
    void save(String param)throws ServiceRuntimeException;
    void save(ActivitySign activitySignctivitySign)throws ServiceRuntimeException;
    void update(ActivitySign activitySignctivitySign)throws ServiceRuntimeException;
    ActivitySign updateTimes(ActivitySign activitySign, int oldTime)throws ServiceRuntimeException;
    Page<ActivitySign> queryByMember(String memberCode, int pageNumber)throws ServiceRuntimeException;
    Page<ActivitySign> queryByMember(Long volunteerId, int pageNumber)throws ServiceRuntimeException;
    Page<ActivitySign> queryByActivity(String activityCode, int pageNumber)throws ServiceRuntimeException;
    Page<ActivitySign> queryByActivity(Long activityId, int pageNumber)throws ServiceRuntimeException;
    Page<ActivitySign> queryUnCommentByActivityCode(String activityCode, int pageNumber)throws ServiceRuntimeException;
    Page<ActivitySign> queryUnCommentByActivityId(long activityId, int pageNumber)throws ServiceRuntimeException;
    ActivitySign queryByMemberAndActivity(String memberCode, String activityCode)throws ServiceRuntimeException;
    ActivitySign queryByMemberAndActivity(Long volunteerId, Long activityId)throws ServiceRuntimeException;
    long countByMember(Long volunteerId)throws ServiceRuntimeException;
    long countByMemberYear(Long volunteerId, String year)throws ServiceRuntimeException;
    long countByMemberMonth(Long volunteerId, String month)throws ServiceRuntimeException;
    long countByActivity(Long activityId)throws ServiceRuntimeException;
    long countByMemberAnd2Date(Long volunteerId, String startDate, String endDate)throws ServiceRuntimeException;
    long countComments(Long volunteerId, int type)throws ServiceRuntimeException;
    void updateCommentType(Long activitySignRecordId, int type, String memberCode) throws ServiceRuntimeException;
    void updateCommentType(String param) throws ServiceRuntimeException;
    List<ActivitySign> queryAllByActivity(String activityCode)throws ServiceRuntimeException;
    List<ActivitySign> queryAllUnSubmit()throws ServiceRuntimeException;
}
